"""
字符串
"""

"""
字符串查找
"""
s1 = "hello,hEllo"
# 无则报错
print(s1.index("lo"))
# 无则返回-1
print(s1.find("lo1"))
print(s1.rindex("lo"))
print(s1.rfind("lo"))

"""
大小写转换
"""

print(s1.upper())

# 大小写互相转换
print(s1.swapcase())

# 首字母大写,其他小写
print(s1.capitalize())

# 把每个单词第一个字符转换成大写,其他小写   Hello Hello
print(s1.title())

"""
字符串对齐操作
"""
# 居中对齐
print(s1.center(20, '*'))

# 左右对齐
print(s1.rjust(20, '*'))
print(s1.ljust(20, '*'))

# 左边对齐补零
a = '123'
print(a.zfill(10))

"""
字符串分割
"""

# split默认空格分割 sep指定分隔符,maxsplit最大分割次数
s2 = "java|c++|python"
print(s2.split(sep="|"))
print(s2.split(sep="|", maxsplit=1))
print(s2.rsplit(sep="|"))
print(s2.rsplit(sep="|", maxsplit=1))

"""
字符串判断
"""

# 合法标识符, 数字字母下划线
print("s1_".isidentifier())

# 是否全是空格
s3 = "    "
print(s3.isspace())

# 是否全由字母组成
print("dsad".isalpha())

# 是否全由数字组成
print("213123".isnumeric())

# 是否全由十进制的数字组成
print("2132".isdecimal())

# 是否有数字字母组成
print("dsad123".isalnum())

"""
字符串替换 合并
"""

# replace 替换 最后一个参数替换次数,默认全替换
s = "java python java python"
print(s.replace('java', '**'))
print(s.replace('java', '**', 1))

# join 将列表原则拼接
l1 = ['java', 'python', 'php']
print('|'.join(l1))

t1 = ('java', 'go', 'js')
print('*'.join(t1))

print('|'.join("python"))

"""
格式化字符串

1.%作为占位符
%s 字符串
%i或者%d 整数
%f 浮点数

2.{} 占位符

3.f-string
"""

print("我叫%s,今年%d岁" % ('summit', 12))

name = 'summit'
age = 18
print("我叫{0},今年{1}岁".format(name, age))

print(f'我叫{name},今年{age}岁')

"""
字符串编码转换

将字符串转换成byte
"""

s = '今天是个好日子'
print(s.encode(encoding="gbk"))
b1 = s.encode(encoding="utf-8")
print(b1)

print(b1.decode())
